package cn.lzm.annotation;

import cn.lzm.bootstrap.RpcConsumerBootstrap;
import cn.lzm.bootstrap.RpcInitBootstrap;
import cn.lzm.bootstrap.RpcProviderBootstrap;
import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author lzm
 * @Date 2024/11/9
 * @description 启用RPC ， @import注解的作用：将特定的类注册到spring容器中，类似于@component注解的作用
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Import({RpcInitBootstrap.class, RpcProviderBootstrap.class, RpcConsumerBootstrap.class})
public @interface EnableRpc {

    /**
     * 需要启动server
     */
    boolean needServer() default true;
}
